<div xmlns:ext="http://www.extjs.com" class="body-wrap"><h1>Class <a href="source/Template.html#cls-Ext.Template">Ext.Template</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info"><a href="source/Template.html#cls-Ext.Template">Template.js</a></td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Template.html#cls-Ext.Template">Template</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.XTemplate.html" ext:cls="Ext.XTemplate">XTemplate</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description"><p>Represents an HTML fragment template. Templates may be <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">precompiled</a>
for greater performance.</p>
An instance of this class may be created by passing to the constructor either
a single argument, or multiple arguments:
<div class="mdetail-params"><ul>
<li><b>single argument</b> : String/Array
<div class="sub-desc">
The single argument may be either a String or an Array:<ul>
<li><tt>String</tt> : </li><pre><code><b>var</b> t = <b>new</b> Ext.Template(<em>"&lt;div>Hello {0}.&lt;/div>"</em>);
t.<a href="output/Ext.Template.html#Ext.Template-append" ext:member="append" ext:cls="Ext.Template">append</a>(<em>'some-element'</em>, [<em>'foo'</em>]);</code></pre>
<li><tt>Array</tt> : </li>
An Array will be combined with <code>join(<em>''</em>)</code>.
<pre><code><b>var</b> t = <b>new</b> Ext.Template([
    <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,
        <em>'&lt;span class=<em>"{cls}"</em>&gt;{name:trim} {value:ellipsis(10)}&lt;/span&gt;'</em>,
    <em>'&lt;/div&gt;'</em>,
]);
t.<a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a>();
t.<a href="output/Ext.Template.html#Ext.Template-append" ext:member="append" ext:cls="Ext.Template">append</a>(<em>'some-element'</em>, {id: <em>'myid'</em>, cls: <em>'myclass'</em>, name: <em>'foo'</em>, value: <em>'bar'</em>});</code></pre>
</ul></div></li>
<li><b>multiple arguments</b> : String, Object, Array, ...
<div class="sub-desc">
Multiple arguments will be combined with <code>join(<em>''</em>)</code>.
<pre><code><b>var</b> t = <b>new</b> Ext.Template(
    <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,
        <em>'&lt;span class=<em>"{cls}"</em>&gt;{name} {value}&lt;/span&gt;'</em>,
    <em>'&lt;/div&gt;'</em>,
    <i>// a configuration object:</i>
    {
        compiled: true,      <i>// <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a> immediately</i>
    }
);</code></pre>
<p><b>Notes</b>:</p>
<div class="mdetail-params"><ul>
<li>Formatting and <code>disableFormats</code> are not applicable for Sencha Touch.</li>
<li>For a list of available format functions, see <a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">Ext.util.Format</a>.</li>
<li><code>disableFormats</code> reduces <code><a href="output/Ext.Template.html#Ext.Template-apply" ext:member="apply" ext:cls="Ext.Template">apply</a></code> time
when no formatting is required.</li>
</ul></div>
</div></li>
</ul></div></div><div class="hr"></div><a id="Ext.Template-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-disableFormats"></a><b><a href="source/Template.html#cfg-Ext.Template-disableFormats">disableFormats</a></b> : Boolean<div class="mdesc"><div class="short">true to disable format functions in the template. If the template doesn't contain format functions, setting 
disableF...</div><div class="long">true to disable format functions in the template. If the template doesn't contain format functions, setting 
disableFormats to true will reduce apply time (defaults to false)</div></div></td><td class="msource">Template</td></tr></tbody></table><a id="Ext.Template-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.Template-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-Template.from"></a><b class="method"><a href="source/Template.html#method-Ext.Template-Template.from">Template.from</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">String/HTMLElement&nbsp;el</span><span class="comma">,&nbsp;</span><span title="Required" class="required">Object&nbsp;config</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">Ext.Template</span><div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Creates a template from the passed element's value (display:none textarea, preferred) or innerHTML.</div><div class="long">&lt;static&gt;&nbsp;Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : String/HTMLElement<div class="sub-desc">A DOM element or its id</div></li><li><code>config</code> : Object<div class="sub-desc">A configuration object</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Template</code><div class="sub-desc">The created template</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-append"></a><b class="method"><a href="source/Template.html#method-Ext.Template-append">append</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">Mixed&nbsp;el</span><span class="comma">,&nbsp;</span><span title="Required" class="required">Object/Array&nbsp;values</span><span class="comma">,&nbsp;</span><span title="Optional" class="optional">[Boolean&nbsp;returnElement]</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">HTMLElement/Ext.Element</span><div class="mdesc"><div class="short">Applies the supplied values to the template and appends
the new node(s) to the specified el.
For example usage see th...</div><div class="long">Applies the supplied <code>values</code> to the template and appends
the new node(s) to the specified <code>el</code>.
<p>For example usage <a href="output/Ext.Template.html#Ext.Template-Template" ext:member="Template" ext:cls="Ext.Template">see the constructor</a>.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if the params are numeric (i.e. <code>{0}</code>)
or an object (i.e. <code>{foo: <em>'bar'</em>}</code>).</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return an Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-apply"></a><b class="method"><a href="source/Template.html#method-Ext.Template-apply">apply</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">Object/Array&nbsp;values</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">String</span><div class="mdesc"><div class="short">Alias for applyTemplate
Returns an HTML fragment of this template with the specified values applied.</div><div class="long">Alias for <a href="output/Ext.Template.html#Ext.Template-applyTemplate" ext:member="applyTemplate" ext:cls="Ext.Template">applyTemplate</a>
Returns an HTML fragment of this template with the specified <code>values</code> applied.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if the params are numeric (i.e. <code>{0}</code>)
or an object (i.e. <code>{foo: <em>'bar'</em>}</code>).</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc">The HTML fragment</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-insertAfter"></a><b class="method"><a href="source/Template.html#method-Ext.Template-insertAfter">insertAfter</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">Mixed&nbsp;el</span><span class="comma">,&nbsp;</span><span title="Required" class="required">Object/Array&nbsp;values</span><span class="comma">,&nbsp;</span><span title="Optional" class="optional">[Boolean&nbsp;returnElement]</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">HTMLElement/Ext.Element</span><div class="mdesc"><div class="short">Applies the supplied values to the template and inserts the new node(s) after el.</div><div class="long">Applies the supplied values to the template and inserts the new node(s) after el.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-insertBefore"></a><b class="method"><a href="source/Template.html#method-Ext.Template-insertBefore">insertBefore</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">Mixed&nbsp;el</span><span class="comma">,&nbsp;</span><span title="Required" class="required">Object/Array&nbsp;values</span><span class="comma">,&nbsp;</span><span title="Optional" class="optional">[Boolean&nbsp;returnElement]</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">HTMLElement/Ext.Element</span><div class="mdesc"><div class="short">Applies the supplied values to the template and inserts the new node(s) before el.</div><div class="long">Applies the supplied values to the template and inserts the new node(s) before el.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-insertFirst"></a><b class="method"><a href="source/Template.html#method-Ext.Template-insertFirst">insertFirst</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">Mixed&nbsp;el</span><span class="comma">,&nbsp;</span><span title="Required" class="required">Object/Array&nbsp;values</span><span class="comma">,&nbsp;</span><span title="Optional" class="optional">[Boolean&nbsp;returnElement]</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">HTMLElement/Ext.Element</span><div class="mdesc"><div class="short">Applies the supplied values to the template and inserts the new node(s) as the first child of el.</div><div class="long">Applies the supplied values to the template and inserts the new node(s) as the first child of el.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-overwrite"></a><b class="method"><a href="source/Template.html#method-Ext.Template-overwrite">overwrite</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">Mixed&nbsp;el</span><span class="comma">,&nbsp;</span><span title="Required" class="required">Object/Array&nbsp;values</span><span class="comma">,&nbsp;</span><span title="Optional" class="optional">[Boolean&nbsp;returnElement]</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">HTMLElement/Ext.Element</span><div class="mdesc"><div class="short">Applies the supplied values to the template and overwrites the content of el with the new node(s).</div><div class="long">Applies the supplied values to the template and overwrites the content of el with the new node(s).<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-set"></a><b class="method"><a href="source/Template.html#method-Ext.Template-set">set</a></b><span class="openparen">(&nbsp;</span><span title="Required" class="required">String&nbsp;html</span><span class="comma">,&nbsp;</span><span title="Optional" class="optional">[Boolean&nbsp;compile]</span><span class="closeparen">&nbsp;)</span><span class="colon">&nbsp;:&nbsp;</span><span class="return">Ext.Template</span><div class="mdesc"><div class="short">Sets the HTML used as the template and optionally compiles it.</div><div class="long">Sets the HTML used as the template and optionally compiles it.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>html</code> : String<div class="sub-desc"></div></li><li><code>compile</code> : Boolean<div class="sub-desc">(optional) True to compile the template (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Template</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource">Template</td></tr></tbody></table><a id="Ext.Template-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>